1. Field of the Invention
The present invention relates, in general, to computer music synthesis and virtual musical instruments, and more particularly to a virtual musical instrument system and method for mapping positional data received from a user or gestural interface into a sound output based on a musical approach selected by a user via a graphical user interface.
2. Relevant Background
Electronic music instruments have been available for many years that are capable of generating a wide variety of electronic and computer synthesized sounds. More recently, virtual musical instruments (VMIs) have been developed that use a sound synthesis system to create a sound output in response to the sensing of a position of a transmitter (such as a light baton). These virtual musical instruments generally utilize a musical instrument digital interface (MIDI) and MIDI controllers in an attempt to translate computer data into music and vice versa. While representing many technical advances, these virtual musical instruments have not been widely accepted by musicians or by general consumers due to a number of limitations.
One limitation of currently available MIDI controller devices (which are sometimes inappropriately labeled as virtual musical instruments) and virtual musical instruments is poor ergonomic design. Typically, MIDI devices have been created to imitate traditional physical music instruments and have similar gestural interfaces (e.g., the interaction between a performer or user and an instrument or receiver). These devices are not true virtual musical instruments because they do not allow for a user performance in air without physical contact(s) with sensors or sensor surfaces. For example, a MIDI keyboard and a MIDI guitar will require a user to replicate the fine muscle movements employed with a traditional piano and guitar moving or operating strings and keys. Similarly, a percussion controller in a MIDI device will generally require a drumstick or baton to strike a sensor surface imitating traditional percussion gestures. Unfortunately, up to fifty percent of all professional musicians suffer muscle-related injuries due to the repetitive fine muscle motions required by traditional physical musical instruments. These same injuries will most likely occur with extended use of existing MIDI devices. Further, most MIDI devices and virtual musical instruments have a fixed gestural interface with a limited input area(s) such that each user is forced to modify their movements to comply with the provided interface, which may increase ergonomic problems and otherwise limit the musical usefulness of the instrument.
In addition to ergonomic limitations, many musicians are dissatisfied with the musical usefulness of virtual musical instruments. In many cases, the virtual musical instrument is created by technicians without attention to the benefit of capturing a musician""s expressive capability in the created music or sounds. Many presently available virtual instruments are complicated to operate and install and are expensive to purchase, which further reduces their attractiveness to consumers.
Hence, there remains a need for a virtual musical instrument with enhanced ergonomic characteristics that limit repetitive motion injuries and with improved mapping of transmitter or controller position to sound output to provide enhanced musical usefulness. Preferably, such a virtual musical instrument would be readily controllable and adjustable by a user, inexpensive to purchase and maintain, and require minimal training and practice to operate, e.g., be predictable and intuitive in operation.
The present invention addresses the above discussed and additional problems by providing a virtual musical instrument (VMI) system that enables a user to use a single arrangement of positional data receivers and controllers and synthesizers and output devices to create a wide range of output music and sounds simply by selecting and customizing mapping routines through a graphical user interface. The VMI system of the invention allows a user to map user positional data to a variety of outputs by first selecting a mapping routine from a set of available mapping routines (e.g., set of musical approaches) and second customizing the selected mapping routine.
Significantly, the VMI system utilizes software or computer programs located in a user friendly user system to create a range of data outputs to create virtual instruments based on positional data (which may be provided by a wide range of hardware arrangements). In this manner, the user can readily and simply customize a single hardware arrangement to create a large number of virtual musical instruments and modify each of these created instruments to suit their ergonomic and other needs. The mapping or control software (e.g., mapping routines) is uniquely adapted to accept and is able to read MIDI files (i.e., computer files containing music), which previously was not available in virtual musical instruments. Preferably, the VMI system of the invention provides a relatively standardized method of accepting musical data for conducting and other musical approaches. In this manner, the user via the user system and included mapping routines can trigger and control MIDI files in a user friendly, non-cryptic fashion to create a musically useful output.
More particularly, a method is provided for mapping user positional data to output data based on user selection and customization input. The method includes displaying a number of mapping routine identifiers (such as icons or buttons or lists) to a user through a user interface. User selection input is then received indicating a user selection of one of the mapping routine identifiers and a mapping routine corresponding to the selected identifier is retrieved and executed. In some embodiments, such as a conductor embodiment, the user can select a MIDI file to conduct. User position data is received (e.g., MIDI data from a MIDI hardware controller). The method further includes processing the user position data with the selected mapping routine to map the user position data to output data. The output data may then be transmitted via an interface such as a MIDI interface to an output device to create an output (such as a synthesizer connected to speakers and the like).
A virtual musical instrument method is provided for mapping positional data from a hardware controller to output data useful by an output device in creating an output (e.g., musical notes, sounds, and special effects). The method includes loading and executing a mapping routine and then requesting user input for customization of output parameters used by the mapping routine in mapping positional data. The requested user input is received and then the mapping routine is customized based on the user input. Significantly, this customization feature enables the method to be adapted to suit the ergonomic needs or goals of the operator (e.g., configure for a wide range of motions or a very narrow range of motions as positional inputs). The output parameters are typically displayed to the user via a user friendly graphical user interface where the user can readily select parameters to modify and enter or select new parameters to readily adapt or customize the selected mapping routine. The method continues with receiving positional data including transmitter coordinates from the hardware controller and then mapping the received position data to output data.
In one embodiment, the output data includes MIDI data and customized output parameters include a gestural or performance area range to affect a desired size or shape for inputting signals to the hardware controller.
In other embodiments, the output parameters include MIDI files (e.g., which song to conduct or map), MIDI note numbers, MIDI program numbers, MIDI velocity numbers, MIDI channel information, MIDI controller data, and MIDI pitch bend information. The method continues with transmitting an output signal including at least a portion of the output data to the output device (e.g., a synthesizer or synthesizer chip connected to a speaker(s)).